Software product activation may function as a proof of purchase, typically as part of a software publisher's anti-piracy strategy. Enforcement mechanisms can be tied to product activation such that the software behaves or displays differently based on the presence or absence of a proof of purchase. Many software activation solutions exist today and are used by various software publishers. These solutions typically associate (i.e., bind) the software with the individual computer on which it runs.
For an organization to use software that requires product activation, these enforcement measures create a cost overhead for maintaining, securing, delivering and managing proofs of purchase across the individual computers. Various strategies and designs have been created to reduce this additional cost of ownership while still protecting the intellectual property of the software publisher. These solutions, however, suffer various drawbacks. Many are unsecured, and others are prohibitively expensive to deploy or maintain.
One solution to this problem is the Key Management Service (KMS) deployed by Microsoft for Windows® and other applications. Certain features of KMS are described, for example, in U.S. Pat. No. 7,356,709, which is incorporated herein by reference in its entirety. KMS is discoverable by clients in an organization's network automatically and without restriction. As customers are thus responsible for securing access to KMS, it may not be sufficiently secure for some environments. Additionally, KMS is deployed using host hardware and communicates using a remote procedure call (RPC) protocol, which is often blocked within secure networks.
Another solution is described in U.S. Patent Application Pub. No. U.S. 2009/0204544. That solution uses a PKI proof of purchase solution for high security and military use. Such a solution is not suitable for many organizations because of its complexity.